package acwing.每日一题;

/**
 * @author： li
 * @date： 2022-03-16 21:41
 * @version 1.0
 */
//春季每日一题
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;
public class 牛的学术圈Ⅰ {
    static int N;
    static int L;
    static Integer[] c;
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //N 已发表论文数 L可以引用的论文数 h指数
        N = sc.nextInt();
        L = sc.nextInt();
        c = new Integer[N];//已有论文的引用数
        for(int i=0;i<N;i++){
            int in = sc.nextInt();
            c[i]=in;
        }
        Arrays.sort(c,Collections.reverseOrder());
//        System.out.println(Arrays.toString(c));
        int h = 0;
        for(int i=0;i<N;i++){
            if(c[i]>=i)
                h=i;
            else
                break;
        }
//        System.out.println("h="+h);
// h 指数等于使得研究员有至少 h 篇引用次数不少于 h 的论文的最大整数 h。
            int cnt=0;
        for(int i =0;i<h+1;i++){
            if(c[i]==h)
                cnt++;
        }
//        System.out.println("cnt="+cnt);
        if(L>=cnt)
            System.out.println(h+1);
        else
            System.out.println(h);
        sc.close();
    }
}
